<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Doxygen: pcl::IntegralImage2D&lt; DataType, 1 &gt; 模板类 参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Doxygen
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-types">Public 类型</a> &#124;
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="#pub-static-attribs">静态 Public 属性</a> &#124;
<a href="#pri-methods">Private 成员函数</a> &#124;
<a href="#pri-attribs">Private 属性</a> &#124;
<a href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4-members.html">所有成员列表</a>  </div>
  <div class="headertitle">
<div class="title">pcl::IntegralImage2D&lt; DataType, 1 &gt; 模板类 参考</div>  </div>
</div><!--header-->
<div class="contents">

<p>partial template specialization for integral images with just one channel.  
 <a href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#details">更多...</a></p>

<p><code>#include &lt;<a class="el" href="integral__image2_d_8h_source.html">integral_image2D.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public 类型</h2></td></tr>
<tr class="memitem:adcad1b2674eebc1aee802da3fc5e34f4"><td class="memItemLeft" align="right" valign="top"><a id="adcad1b2674eebc1aee802da3fc5e34f4"></a>
typedef <a class="el" href="structpcl_1_1_integral_image_type_traits.html">IntegralImageTypeTraits</a>&lt; DataType &gt;::IntegralType&#160;</td><td class="memItemRight" valign="bottom"><b>ElementType</b></td></tr>
<tr class="separator:adcad1b2674eebc1aee802da3fc5e34f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accdd4c721e91471548392a0e469049e3"><td class="memItemLeft" align="right" valign="top"><a id="accdd4c721e91471548392a0e469049e3"></a>
typedef <a class="el" href="structpcl_1_1_integral_image_type_traits.html">IntegralImageTypeTraits</a>&lt; DataType &gt;::IntegralType&#160;</td><td class="memItemRight" valign="bottom"><b>SecondOrderType</b></td></tr>
<tr class="separator:accdd4c721e91471548392a0e469049e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:ad119d7f7b4b979f915cb8636618d5a70"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#ad119d7f7b4b979f915cb8636618d5a70">IntegralImage2D</a> (bool compute_second_order_integral_images)</td></tr>
<tr class="memdesc:ad119d7f7b4b979f915cb8636618d5a70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for an Integral Image  <a href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#ad119d7f7b4b979f915cb8636618d5a70">更多...</a><br /></td></tr>
<tr class="separator:ad119d7f7b4b979f915cb8636618d5a70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a840d68d29a53fe27af6e14eba4fd81"><td class="memItemLeft" align="right" valign="top"><a id="a3a840d68d29a53fe27af6e14eba4fd81"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#a3a840d68d29a53fe27af6e14eba4fd81">~IntegralImage2D</a> ()</td></tr>
<tr class="memdesc:a3a840d68d29a53fe27af6e14eba4fd81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor <br /></td></tr>
<tr class="separator:a3a840d68d29a53fe27af6e14eba4fd81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c8b8b84ba29c93175a29c9707f184fa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#a2c8b8b84ba29c93175a29c9707f184fa">setInput</a> (const DataType *data, unsigned width, unsigned height, unsigned element_stride, unsigned row_stride)</td></tr>
<tr class="memdesc:a2c8b8b84ba29c93175a29c9707f184fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the input data to compute the integral image for  <a href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#a2c8b8b84ba29c93175a29c9707f184fa">更多...</a><br /></td></tr>
<tr class="separator:a2c8b8b84ba29c93175a29c9707f184fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a532d5bc36a610c24b657b571aa6e93f8"><td class="memItemLeft" align="right" valign="top">ElementType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#a532d5bc36a610c24b657b571aa6e93f8">getFirstOrderSum</a> (unsigned start_x, unsigned start_y, unsigned width, unsigned height) const</td></tr>
<tr class="memdesc:a532d5bc36a610c24b657b571aa6e93f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the first order sum within a given rectangle  <a href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#a532d5bc36a610c24b657b571aa6e93f8">更多...</a><br /></td></tr>
<tr class="separator:a532d5bc36a610c24b657b571aa6e93f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88463a4a75f0337cb37392e7b0cebfa0"><td class="memItemLeft" align="right" valign="top">ElementType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#a88463a4a75f0337cb37392e7b0cebfa0">getFirstOrderSumSE</a> (unsigned start_x, unsigned start_y, unsigned end_x, unsigned end_y) const</td></tr>
<tr class="memdesc:a88463a4a75f0337cb37392e7b0cebfa0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the first order sum within a given rectangle  <a href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#a88463a4a75f0337cb37392e7b0cebfa0">更多...</a><br /></td></tr>
<tr class="separator:a88463a4a75f0337cb37392e7b0cebfa0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fff38329aacd3e6ca95c369e9210ceb"><td class="memItemLeft" align="right" valign="top">SecondOrderType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#a2fff38329aacd3e6ca95c369e9210ceb">getSecondOrderSum</a> (unsigned start_x, unsigned start_y, unsigned width, unsigned height) const</td></tr>
<tr class="memdesc:a2fff38329aacd3e6ca95c369e9210ceb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the second order sum within a given rectangle  <a href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#a2fff38329aacd3e6ca95c369e9210ceb">更多...</a><br /></td></tr>
<tr class="separator:a2fff38329aacd3e6ca95c369e9210ceb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04c9d43acb5022c4eb838a5b2dba492f"><td class="memItemLeft" align="right" valign="top">SecondOrderType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#a04c9d43acb5022c4eb838a5b2dba492f">getSecondOrderSumSE</a> (unsigned start_x, unsigned start_y, unsigned end_x, unsigned end_y) const</td></tr>
<tr class="memdesc:a04c9d43acb5022c4eb838a5b2dba492f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the second order sum within a given rectangle  <a href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#a04c9d43acb5022c4eb838a5b2dba492f">更多...</a><br /></td></tr>
<tr class="separator:a04c9d43acb5022c4eb838a5b2dba492f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ec33a468c6339bb6acdca9f752a5b32"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#a3ec33a468c6339bb6acdca9f752a5b32">getFiniteElementsCount</a> (unsigned start_x, unsigned start_y, unsigned width, unsigned height) const</td></tr>
<tr class="memdesc:a3ec33a468c6339bb6acdca9f752a5b32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the number of finite elements within a given rectangle  <a href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#a3ec33a468c6339bb6acdca9f752a5b32">更多...</a><br /></td></tr>
<tr class="separator:a3ec33a468c6339bb6acdca9f752a5b32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33009613aa52ecc1e2089de9a59e2292"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#a33009613aa52ecc1e2089de9a59e2292">getFiniteElementsCountSE</a> (unsigned start_x, unsigned start_y, unsigned end_x, unsigned end_y) const</td></tr>
<tr class="memdesc:a33009613aa52ecc1e2089de9a59e2292"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the number of finite elements within a given rectangle  <a href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#a33009613aa52ecc1e2089de9a59e2292">更多...</a><br /></td></tr>
<tr class="separator:a33009613aa52ecc1e2089de9a59e2292"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
静态 Public 属性</h2></td></tr>
<tr class="memitem:a35bcc63a171a9997212140924468b5fc"><td class="memItemLeft" align="right" valign="top"><a id="a35bcc63a171a9997212140924468b5fc"></a>
static const unsigned&#160;</td><td class="memItemRight" valign="bottom"><b>second_order_size</b> = 1</td></tr>
<tr class="separator:a35bcc63a171a9997212140924468b5fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private 成员函数</h2></td></tr>
<tr class="memitem:a3aa0214b00e8932c61158e37e9f76519"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#a3aa0214b00e8932c61158e37e9f76519">computeIntegralImages</a> (const DataType *data, unsigned row_stride, unsigned element_stride)</td></tr>
<tr class="memdesc:a3aa0214b00e8932c61158e37e9f76519"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the actual integral image data  <a href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#a3aa0214b00e8932c61158e37e9f76519">更多...</a><br /></td></tr>
<tr class="separator:a3aa0214b00e8932c61158e37e9f76519"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private 属性</h2></td></tr>
<tr class="memitem:ab344b9b2fd15f96b9d7cbe78bc00ab4b"><td class="memItemLeft" align="right" valign="top"><a id="ab344b9b2fd15f96b9d7cbe78bc00ab4b"></a>
std::vector&lt; ElementType, Eigen::aligned_allocator&lt; ElementType &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>first_order_integral_image_</b></td></tr>
<tr class="separator:ab344b9b2fd15f96b9d7cbe78bc00ab4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9485f08392241f6f6f910a5a573111a9"><td class="memItemLeft" align="right" valign="top"><a id="a9485f08392241f6f6f910a5a573111a9"></a>
std::vector&lt; SecondOrderType, Eigen::aligned_allocator&lt; SecondOrderType &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>second_order_integral_image_</b></td></tr>
<tr class="separator:a9485f08392241f6f6f910a5a573111a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad4e530212a9ed0412b067ae981c720e"><td class="memItemLeft" align="right" valign="top"><a id="aad4e530212a9ed0412b067ae981c720e"></a>
std::vector&lt; unsigned &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>finite_values_integral_image_</b></td></tr>
<tr class="separator:aad4e530212a9ed0412b067ae981c720e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac9fa6556230e9a913fcf2acc415e79a"><td class="memItemLeft" align="right" valign="top"><a id="aac9fa6556230e9a913fcf2acc415e79a"></a>
unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a></td></tr>
<tr class="memdesc:aac9fa6556230e9a913fcf2acc415e79a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The width of the 2d input data array <br /></td></tr>
<tr class="separator:aac9fa6556230e9a913fcf2acc415e79a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf06101e918412b1a348c85d8d784fbc"><td class="memItemLeft" align="right" valign="top"><a id="adf06101e918412b1a348c85d8d784fbc"></a>
unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#adf06101e918412b1a348c85d8d784fbc">height_</a></td></tr>
<tr class="memdesc:adf06101e918412b1a348c85d8d784fbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">The height of the 2d input data array <br /></td></tr>
<tr class="separator:adf06101e918412b1a348c85d8d784fbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4287add6cd9d719588fdd8712111c95f"><td class="memItemLeft" align="right" valign="top"><a id="a4287add6cd9d719588fdd8712111c95f"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#a4287add6cd9d719588fdd8712111c95f">compute_second_order_integral_images_</a></td></tr>
<tr class="memdesc:a4287add6cd9d719588fdd8712111c95f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates whether second order integral images are available <br /></td></tr>
<tr class="separator:a4287add6cd9d719588fdd8712111c95f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><h3>template&lt;class DataType&gt;<br />
class pcl::IntegralImage2D&lt; DataType, 1 &gt;</h3>

<p>partial template specialization for integral images with just one channel. </p>
</div><h2 class="groupheader">构造及析构函数说明</h2>
<a id="ad119d7f7b4b979f915cb8636618d5a70"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad119d7f7b4b979f915cb8636618d5a70">&#9670;&nbsp;</a></span>IntegralImage2D()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class DataType &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpcl_1_1_integral_image2_d.html">pcl::IntegralImage2D</a>&lt; DataType, 1 &gt;::<a class="el" href="classpcl_1_1_integral_image2_d.html">IntegralImage2D</a> </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>compute_second_order_integral_images</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor for an Integral Image </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">compute_second_order_integral_images</td><td>set to true if we want to compute a second order image </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;                                                                  : </div>
<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;        first_order_integral_image_ (),</div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;        second_order_integral_image_ (),</div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;        finite_values_integral_image_ (),</div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;        <a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> (1), <a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#adf06101e918412b1a348c85d8d784fbc">height_</a> (1), </div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;        <a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#a4287add6cd9d719588fdd8712111c95f">compute_second_order_integral_images_</a> (compute_second_order_integral_images)</div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;      {</div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;      }</div>
<div class="ttc" id="aclasspcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4_html_a4287add6cd9d719588fdd8712111c95f"><div class="ttname"><a href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#a4287add6cd9d719588fdd8712111c95f">pcl::IntegralImage2D&lt; DataType, 1 &gt;::compute_second_order_integral_images_</a></div><div class="ttdeci">bool compute_second_order_integral_images_</div><div class="ttdoc">Indicates whether second order integral images are available</div><div class="ttdef"><b>Definition:</b> integral_image2D.h:339</div></div>
<div class="ttc" id="aclasspcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4_html_aac9fa6556230e9a913fcf2acc415e79a"><div class="ttname"><a href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">pcl::IntegralImage2D&lt; DataType, 1 &gt;::width_</a></div><div class="ttdeci">unsigned width_</div><div class="ttdoc">The width of the 2d input data array</div><div class="ttdef"><b>Definition:</b> integral_image2D.h:334</div></div>
<div class="ttc" id="aclasspcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4_html_adf06101e918412b1a348c85d8d784fbc"><div class="ttname"><a href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#adf06101e918412b1a348c85d8d784fbc">pcl::IntegralImage2D&lt; DataType, 1 &gt;::height_</a></div><div class="ttdeci">unsigned height_</div><div class="ttdoc">The height of the 2d input data array</div><div class="ttdef"><b>Definition:</b> integral_image2D.h:336</div></div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">成员函数说明</h2>
<a id="a3aa0214b00e8932c61158e37e9f76519"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3aa0214b00e8932c61158e37e9f76519">&#9670;&nbsp;</a></span>computeIntegralImages()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DataType &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_integral_image2_d.html">pcl::IntegralImage2D</a>&lt; DataType, 1 &gt;::computeIntegralImages </td>
          <td>(</td>
          <td class="paramtype">const DataType *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>row_stride</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>element_stride</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Compute the actual integral image data </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>the input data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">element_stride</td><td>the element stride of the data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">row_stride</td><td>the row stride of the data </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;{</div>
<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;  ElementType* previous_row = &amp;first_order_integral_image_[0];</div>
<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;  ElementType* current_row  = previous_row + (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1);</div>
<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;  memset (previous_row, 0, <span class="keyword">sizeof</span> (ElementType) * (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1));</div>
<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160; </div>
<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;  <span class="keywordtype">unsigned</span>* count_previous_row = &amp;finite_values_integral_image_[0];</div>
<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;  <span class="keywordtype">unsigned</span>* count_current_row  = count_previous_row + (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1);</div>
<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;  memset (count_previous_row, 0, <span class="keyword">sizeof</span> (<span class="keywordtype">unsigned</span>) * (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1));</div>
<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160; </div>
<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;  <span class="keywordflow">if</span> (!<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#a4287add6cd9d719588fdd8712111c95f">compute_second_order_integral_images_</a>)</div>
<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;  {</div>
<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> rowIdx = 0; rowIdx &lt; <a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#adf06101e918412b1a348c85d8d784fbc">height_</a>; ++rowIdx, data += row_stride,</div>
<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;                                                previous_row = current_row, current_row += (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1),</div>
<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;                                                count_previous_row = count_current_row, count_current_row += (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1))</div>
<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;    {</div>
<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;      current_row [0] = 0.0;</div>
<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;      count_current_row [0] = 0;</div>
<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;      <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> colIdx = 0, valIdx = 0; colIdx &lt; <a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a>; ++colIdx, valIdx += element_stride)</div>
<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;      {</div>
<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;        current_row [colIdx + 1] = previous_row [colIdx + 1] + current_row [colIdx] - previous_row [colIdx];</div>
<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;        count_current_row [colIdx + 1] = count_previous_row [colIdx + 1] + count_current_row [colIdx] - count_previous_row [colIdx];</div>
<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;        <span class="keywordflow">if</span> (pcl_isfinite (data [valIdx]))</div>
<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;        {</div>
<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;          current_row [colIdx + 1] += data [valIdx];</div>
<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;          ++(count_current_row [colIdx + 1]);</div>
<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;        }</div>
<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;      }</div>
<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;    }</div>
<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;  }</div>
<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;  <span class="keywordflow">else</span></div>
<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;  {</div>
<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;    SecondOrderType* so_previous_row = &amp;second_order_integral_image_[0];</div>
<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;    SecondOrderType* so_current_row  = so_previous_row + (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1);</div>
<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;    memset (so_previous_row, 0, <span class="keyword">sizeof</span> (SecondOrderType) * (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1));</div>
<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160; </div>
<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> rowIdx = 0; rowIdx &lt; <a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#adf06101e918412b1a348c85d8d784fbc">height_</a>; ++rowIdx, data += row_stride,</div>
<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;                                                previous_row = current_row, current_row += (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1),</div>
<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;                                                count_previous_row = count_current_row, count_current_row += (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1),</div>
<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;                                                so_previous_row = so_current_row, so_current_row += (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1))</div>
<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;    {</div>
<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;      current_row [0] = 0.0;</div>
<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;      so_current_row [0] = 0.0;</div>
<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;      count_current_row [0] = 0;</div>
<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;      <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> colIdx = 0, valIdx = 0; colIdx &lt; <a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a>; ++colIdx, valIdx += element_stride)</div>
<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;      {</div>
<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;        current_row [colIdx + 1] = previous_row [colIdx + 1] + current_row [colIdx] - previous_row [colIdx];</div>
<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;        so_current_row [colIdx + 1] = so_previous_row [colIdx + 1] + so_current_row [colIdx] - so_previous_row [colIdx];</div>
<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;        count_current_row [colIdx + 1] = count_previous_row [colIdx + 1] + count_current_row [colIdx] - count_previous_row [colIdx];</div>
<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;        <span class="keywordflow">if</span> (pcl_isfinite (data[valIdx]))</div>
<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;        {</div>
<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;          current_row [colIdx + 1] += data[valIdx];</div>
<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;          so_current_row [colIdx + 1] += data[valIdx] * data[valIdx];</div>
<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;          ++(count_current_row [colIdx + 1]);</div>
<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;        }</div>
<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;      }</div>
<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;    }</div>
<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;  }</div>
<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a3ec33a468c6339bb6acdca9f752a5b32"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ec33a468c6339bb6acdca9f752a5b32">&#9670;&nbsp;</a></span>getFiniteElementsCount()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DataType &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned <a class="el" href="classpcl_1_1_integral_image2_d.html">pcl::IntegralImage2D</a>&lt; DataType, 1 &gt;::getFiniteElementsCount </td>
          <td>(</td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>start_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>start_y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Compute the number of finite elements within a given rectangle </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">start_x</td><td>x position of rectangle </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">start_y</td><td>y position of rectangle </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>width of rectangle </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>height of rectangle </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;{</div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> upper_left_idx      = start_y * (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1) + start_x;</div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> upper_right_idx     = upper_left_idx + width;</div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> lower_left_idx      = (start_y + height) * (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1) + start_x;</div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> lower_right_idx     = lower_left_idx + width;</div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160; </div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;  <span class="keywordflow">return</span> (finite_values_integral_image_[lower_right_idx] + finite_values_integral_image_[upper_left_idx]  -</div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;          finite_values_integral_image_[upper_right_idx] - finite_values_integral_image_[lower_left_idx]  );</div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a33009613aa52ecc1e2089de9a59e2292"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a33009613aa52ecc1e2089de9a59e2292">&#9670;&nbsp;</a></span>getFiniteElementsCountSE()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DataType &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned <a class="el" href="classpcl_1_1_integral_image2_d.html">pcl::IntegralImage2D</a>&lt; DataType, 1 &gt;::getFiniteElementsCountSE </td>
          <td>(</td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>start_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>start_y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>end_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>end_y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Compute the number of finite elements within a given rectangle </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">start_x</td><td>x position of the start of the rectangle </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">start_y</td><td>x position of the start of the rectangle </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">end_x</td><td>x position of the end of the rectangle </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">end_y</td><td>x position of the end of the rectangle </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;{</div>
<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> upper_left_idx      = start_y * (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1) + start_x;</div>
<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> upper_right_idx     = start_y * (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1) + end_x;</div>
<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> lower_left_idx      = end_y * (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1) + start_x;</div>
<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> lower_right_idx     = end_y * (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1) + end_x;</div>
<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160; </div>
<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;  <span class="keywordflow">return</span> (finite_values_integral_image_[lower_right_idx] + finite_values_integral_image_[upper_left_idx]  -</div>
<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;          finite_values_integral_image_[upper_right_idx] - finite_values_integral_image_[lower_left_idx]  );</div>
<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a532d5bc36a610c24b657b571aa6e93f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a532d5bc36a610c24b657b571aa6e93f8">&#9670;&nbsp;</a></span>getFirstOrderSum()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DataType &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpcl_1_1_integral_image2_d.html">pcl::IntegralImage2D</a>&lt; DataType, 1 &gt;::ElementType <a class="el" href="classpcl_1_1_integral_image2_d.html">pcl::IntegralImage2D</a>&lt; DataType, 1 &gt;::getFirstOrderSum </td>
          <td>(</td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>start_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>start_y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Compute the first order sum within a given rectangle </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">start_x</td><td>x position of rectangle </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">start_y</td><td>y position of rectangle </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>width of rectangle </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>height of rectangle </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;{</div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> upper_left_idx      = start_y * (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1) + start_x;</div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> upper_right_idx     = upper_left_idx + width;</div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> lower_left_idx      = (start_y + height) * (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1) + start_x;</div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> lower_right_idx     = lower_left_idx + width;</div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160; </div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;  <span class="keywordflow">return</span> (first_order_integral_image_[lower_right_idx] + first_order_integral_image_[upper_left_idx]  -</div>
<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;          first_order_integral_image_[upper_right_idx] - first_order_integral_image_[lower_left_idx]  );</div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a88463a4a75f0337cb37392e7b0cebfa0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a88463a4a75f0337cb37392e7b0cebfa0">&#9670;&nbsp;</a></span>getFirstOrderSumSE()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DataType &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpcl_1_1_integral_image2_d.html">pcl::IntegralImage2D</a>&lt; DataType, 1 &gt;::ElementType <a class="el" href="classpcl_1_1_integral_image2_d.html">pcl::IntegralImage2D</a>&lt; DataType, 1 &gt;::getFirstOrderSumSE </td>
          <td>(</td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>start_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>start_y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>end_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>end_y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Compute the first order sum within a given rectangle </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">start_x</td><td>x position of the start of the rectangle </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">start_y</td><td>x position of the start of the rectangle </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">end_x</td><td>x position of the end of the rectangle </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">end_y</td><td>x position of the end of the rectangle </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;{</div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> upper_left_idx      = start_y * (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1) + start_x;</div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> upper_right_idx     = start_y * (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1) + end_x;</div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> lower_left_idx      = end_y * (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1) + start_x;</div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> lower_right_idx     = end_y * (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1) + end_x;</div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160; </div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;  <span class="keywordflow">return</span> (first_order_integral_image_[lower_right_idx] + first_order_integral_image_[upper_left_idx]  -</div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;          first_order_integral_image_[upper_right_idx] - first_order_integral_image_[lower_left_idx]  );</div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a2fff38329aacd3e6ca95c369e9210ceb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2fff38329aacd3e6ca95c369e9210ceb">&#9670;&nbsp;</a></span>getSecondOrderSum()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DataType &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpcl_1_1_integral_image2_d.html">pcl::IntegralImage2D</a>&lt; DataType, 1 &gt;::SecondOrderType <a class="el" href="classpcl_1_1_integral_image2_d.html">pcl::IntegralImage2D</a>&lt; DataType, 1 &gt;::getSecondOrderSum </td>
          <td>(</td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>start_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>start_y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Compute the second order sum within a given rectangle </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">start_x</td><td>x position of rectangle </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">start_y</td><td>y position of rectangle </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>width of rectangle </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>height of rectangle </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;{</div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> upper_left_idx      = start_y * (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1) + start_x;</div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> upper_right_idx     = upper_left_idx + width;</div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> lower_left_idx      = (start_y + height) * (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1) + start_x;</div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> lower_right_idx     = lower_left_idx + width;</div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160; </div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;  <span class="keywordflow">return</span> (second_order_integral_image_[lower_right_idx] + second_order_integral_image_[upper_left_idx]  -</div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;          second_order_integral_image_[upper_right_idx] - second_order_integral_image_[lower_left_idx]  );</div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a04c9d43acb5022c4eb838a5b2dba492f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04c9d43acb5022c4eb838a5b2dba492f">&#9670;&nbsp;</a></span>getSecondOrderSumSE()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DataType &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpcl_1_1_integral_image2_d.html">pcl::IntegralImage2D</a>&lt; DataType, 1 &gt;::SecondOrderType <a class="el" href="classpcl_1_1_integral_image2_d.html">pcl::IntegralImage2D</a>&lt; DataType, 1 &gt;::getSecondOrderSumSE </td>
          <td>(</td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>start_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>start_y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>end_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>end_y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Compute the second order sum within a given rectangle </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">start_x</td><td>x position of the start of the rectangle </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">start_y</td><td>x position of the start of the rectangle </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">end_x</td><td>x position of the end of the rectangle </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">end_y</td><td>x position of the end of the rectangle </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;{</div>
<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> upper_left_idx      = start_y * (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1) + start_x;</div>
<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> upper_right_idx     = start_y * (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1) + end_x;</div>
<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> lower_left_idx      = end_y * (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1) + start_x;</div>
<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> lower_right_idx     = end_y * (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1) + end_x;</div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160; </div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;  <span class="keywordflow">return</span> (second_order_integral_image_[lower_right_idx] + second_order_integral_image_[upper_left_idx]  -</div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;          second_order_integral_image_[upper_right_idx] - second_order_integral_image_[lower_left_idx]  );</div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a2c8b8b84ba29c93175a29c9707f184fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2c8b8b84ba29c93175a29c9707f184fa">&#9670;&nbsp;</a></span>setInput()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DataType &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classpcl_1_1_integral_image2_d.html">pcl::IntegralImage2D</a>&lt; DataType, 1 &gt;::setInput </td>
          <td>(</td>
          <td class="paramtype">const DataType *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>element_stride</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>row_stride</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the input data to compute the integral image for </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>the input data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>the width of the data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>the height of the data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">element_stride</td><td>the element stride of the data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">row_stride</td><td>the row stride of the data </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;{</div>
<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;  <span class="keywordflow">if</span> ((width + 1) * (height + 1) &gt; first_order_integral_image_.size () )</div>
<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;  {</div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    <a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a>  = width;</div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    <a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#adf06101e918412b1a348c85d8d784fbc">height_</a> = height;</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    first_order_integral_image_.resize ( (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1) * (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#adf06101e918412b1a348c85d8d784fbc">height_</a> + 1) );</div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    finite_values_integral_image_.resize ( (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1) * (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#adf06101e918412b1a348c85d8d784fbc">height_</a> + 1) );</div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#a4287add6cd9d719588fdd8712111c95f">compute_second_order_integral_images_</a>)</div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;      second_order_integral_image_.resize ( (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#aac9fa6556230e9a913fcf2acc415e79a">width_</a> + 1) * (<a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#adf06101e918412b1a348c85d8d784fbc">height_</a> + 1) );</div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;  }</div>
<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;  <a class="code" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#a3aa0214b00e8932c61158e37e9f76519">computeIntegralImages</a> (data, row_stride, element_stride);</div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;}</div>
<div class="ttc" id="aclasspcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4_html_a3aa0214b00e8932c61158e37e9f76519"><div class="ttname"><a href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html#a3aa0214b00e8932c61158e37e9f76519">pcl::IntegralImage2D&lt; DataType, 1 &gt;::computeIntegralImages</a></div><div class="ttdeci">void computeIntegralImages(const DataType *data, unsigned row_stride, unsigned element_stride)</div><div class="ttdoc">Compute the actual integral image data</div><div class="ttdef"><b>Definition:</b> integral_image2D.hpp:324</div></div>
</div><!-- fragment -->
</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>features/include/pcl/features/<a class="el" href="integral__image2_d_8h_source.html">integral_image2D.h</a></li>
<li>features/include/pcl/features/impl/<a class="el" href="integral__image2_d_8hpp_source.html">integral_image2D.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><b>pcl</b></li><li class="navelem"><a class="el" href="classpcl_1_1_integral_image2_d_3_01_data_type_00_011_01_4.html">IntegralImage2D&lt; DataType, 1 &gt;</a></li>
    <li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
